package com.shuang.greed3;

public class MaxSubArray {
    //贪心：
    //前面的连续和是负数的话 则从下一个位置作为起点重新开始计算后面的连续和
    //有最大值就把最大值保存起来
    //定义全局变量用于记录最大值
    int res = Integer.MIN_VALUE;

    public int maxSubArray(int[] nums) {

        //用于记录前面的连续和
        int count = 0;

        //遍历数组
        for (int i = 0; i < nums.length; i++) {

            count += nums[i];
            //结果中存起来最大的值
            res = Math.max(res, count);

            if (count < 0) {
                //连续和为0了将其重置为0到下一个位置重新开始加
                count = 0;
            }
        }
        return res;
    }
}
